package com.baobao.dao;

import com.baobao.domain.Teacher;

import java.util.Set;

import org.skyway.spring.util.dao.JpaDao;

import org.springframework.dao.DataAccessException;

/**
 * DAO to manage Teacher entities.
 * 
 */
public interface TeacherDAO extends JpaDao<Teacher> {

	/**
	 * JPQL Query - findTeacherByAccountContaining
	 *
	 */
	public Set<Teacher> findTeacherByAccountContaining(String account) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByAccountContaining
	 *
	 */
	public Set<Teacher> findTeacherByAccountContaining(String account, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByImgUrl
	 *
	 */
	public Set<Teacher> findTeacherByImgUrl(String imgUrl) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByImgUrl
	 *
	 */
	public Set<Teacher> findTeacherByImgUrl(String imgUrl, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByCourseRoleContaining
	 *
	 */
	public Set<Teacher> findTeacherByCourseRoleContaining(String courseRole) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByCourseRoleContaining
	 *
	 */
	public Set<Teacher> findTeacherByCourseRoleContaining(String courseRole, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByAccount
	 *
	 */
	public Set<Teacher> findTeacherByAccount(String account_1) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByAccount
	 *
	 */
	public Set<Teacher> findTeacherByAccount(String account_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByImgUrlContaining
	 *
	 */
	public Set<Teacher> findTeacherByImgUrlContaining(String imgUrl_1) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByImgUrlContaining
	 *
	 */
	public Set<Teacher> findTeacherByImgUrlContaining(String imgUrl_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByPhone
	 *
	 */
	public Teacher findTeacherByPhone(String phone) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByPhone
	 *
	 */
	public Teacher findTeacherByPhone(String phone, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByCourseRole
	 *
	 */
	public Set<Teacher> findTeacherByCourseRole(String courseRole_1) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByCourseRole
	 *
	 */
	public Set<Teacher> findTeacherByCourseRole(String courseRole_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAllTeachers
	 *
	 */
	public Set<Teacher> findAllTeachers() throws DataAccessException;

	/**
	 * JPQL Query - findAllTeachers
	 *
	 */
	public Set<Teacher> findAllTeachers(int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByBanjiId
	 *
	 */
	public Set<Teacher> findTeacherByBanjiId(String banjiId) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByBanjiId
	 *
	 */
	public Set<Teacher> findTeacherByBanjiId(String banjiId, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByBanjiIdContaining
	 *
	 */
	public Set<Teacher> findTeacherByBanjiIdContaining(String banjiId_1) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByBanjiIdContaining
	 *
	 */
	public Set<Teacher> findTeacherByBanjiIdContaining(String banjiId_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByPhoneContaining
	 *
	 */
	public Set<Teacher> findTeacherByPhoneContaining(String phone_1) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByPhoneContaining
	 *
	 */
	public Set<Teacher> findTeacherByPhoneContaining(String phone_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByPassword
	 *
	 */
	public Set<Teacher> findTeacherByPassword(String password) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByPassword
	 *
	 */
	public Set<Teacher> findTeacherByPassword(String password, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByPrimaryKey
	 *
	 */
	public Teacher findTeacherByPrimaryKey(String phone_2) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByPrimaryKey
	 *
	 */
	public Teacher findTeacherByPrimaryKey(String phone_2, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByNameContaining
	 *
	 */
	public Set<Teacher> findTeacherByNameContaining(String name) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByNameContaining
	 *
	 */
	public Set<Teacher> findTeacherByNameContaining(String name, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByName
	 *
	 */
	public Set<Teacher> findTeacherByName(String name_1) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByName
	 *
	 */
	public Set<Teacher> findTeacherByName(String name_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByPasswordContaining
	 *
	 */
	public Set<Teacher> findTeacherByPasswordContaining(String password_1) throws DataAccessException;

	/**
	 * JPQL Query - findTeacherByPasswordContaining
	 *
	 */
	public Set<Teacher> findTeacherByPasswordContaining(String password_1, int startResult, int maxRows) throws DataAccessException;

}